$(function() {
  function formatNum(num, digits) {
    var s = new String(num);
    var c = digits - s.length;
    while (c-- > 0) {
      s = '0' + s;
    }
    return s;
  }

  function getYMD(d) {
    return '' + d.getFullYear() + '-' + formatNum(d.getMonth() + 1, 2) + '-' + formatNum(d.getDate(), 2);
  }

  $(document).ready(function() {
    var d = new Date();
    d.setTime(d.getTime() - 24 * 60 * 60 * 1000)
    var ymd = getYMD(d)
    $('#modified_after').val(ymd);
    $('#modified_before').val(ymd);
    $('#purge-end').val(ymd);
    d.setTime(d.getTime() - 30 * 24 * 60 * 60 * 1000)
    $('#purge-begin').val(getYMD(d));
  });

  $('#memcache-delete').click(function() {
    yolo.postAjaxLink('/admin/memcache_delete', {key: $('#memcache-key').val()}, false)
  });

  $('#memcache-get-counter').click(function() {
    yolo.postAjaxLink('/admin/memcache_get_counter', {key: $('#memcache-key').val()}, false)
  });

  $('#purge-datastore-form').submit(function() {
    yolo.postAjaxLink('/admin/purge_datastore', {kind: $('#kind').val()}, false)
    return false;
  });

  $('input[name="poll_mode"]').change(function() {
    if ($(this).val() == 'update') {
      $('#modified_before').attr('disabled', 'disabled');
      $('#modified_after').removeAttr('disabled');
      $('#backdate_timerange').attr('disabled', 'disabled');
    } else {
      $('#modified_after').attr('disabled', 'disabled');
      $('#modified_before').removeAttr('disabled');
      $('#backdate_timerange').removeAttr('disabled');
    }
  });

  $('#add-poll-form').submit(function() {
    var siteurl = $('#siteurl option:selected').val()
    if (!siteurl) {
      siteurl = $('#siteurl option:first').val()
    }
    yolo.postAjaxLink(
        '/admin/add_poll',
        {
          siteurl: siteurl,
          project: $('#project').val(),
          modified_before: $('#modified_before').val(),
          modified_after: $('#modified_after').val(),
          poll_mode: $('[name="poll_mode"]:checked').val(),
          backdate_timerange: $('#backdate_timerange').val()
        },
        true);
    return false;
  });
});
